#include "ipc/Ftok.h"
#include "ipc/Cola.h"
#include "tcp/MensajeroTCP.h"
#include "log.h"
#include "MensajesIRC.h"

#include <stdlib.h>
#include <unistd.h>

#include <vector>

int main(int argc, char* argv[]){

    if(argc < 3){
	log("%s <nombre_usuario> <nombre_conversacion>\n", argv[0]);
	exit(-1);
    }

    char* nombre = argv[1];
    char* nombre_conversacion =argv[2];
    
    char path_ftok[1024];
    char *path;
    path = ftok_crear_archivo(nombre, path_ftok, 1024);
    if(!path){
	log("Error, no se pudo obtener el path para FTOK.\n");
	exit(-1);
    }

    Cola cola(path, 1);

    MensajeIRC_JOIN mensaje_join(nombre_conversacion);

    //Me uno a la conversacion
    cola.enviar(1, (char*) &mensaje_join, sizeof(mensaje_join));

    char buffer[200];
    memset(buffer, 0, 200);

    gets(buffer);
    while(strcmp(buffer, "!q")){

	MensajeIRC_PRIVMSG msg(nombre_conversacion, buffer);

	log("Pongo un mensaje en la cola.\n");
	log("%s\n", (char*) &msg);

	cola.enviar(2, (char*) &msg, sizeof(msg));

	gets(buffer);
    }

    MensajeIRC_QUIT quit(buffer+2);
    cola.enviar(2, (char*) &quit, sizeof(quit));

    log("Fin de la conversacion.\n");
    
    return 0;
}
